package cn.jtfadmin.core.modules.sys.domain.dto;



import cn.jtfadmin.base.filesystem.annos.File;
import cn.jtfadmin.base.lang.common.domain.dto.BaseEntityDTO;
import cn.jtfadmin.base.lang.enums.BooleanEnum;
import cn.jtfadmin.base.lang.enums.FileType;
import cn.jtfadmin.core.constant.SysUserConstants;
import cn.jtfadmin.core.enums.SexEnum;
import cn.jtfadmin.core.enums.UserStatusEnum;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;

/**
 * 系统用户模型
 */
@Data
public class SysUserModelDTO extends BaseEntityDTO implements Serializable {


    /**
     * buildInFlag
     */
    protected BooleanEnum buildInFlag;
    /**
     * 用户名
     */
    protected String username;
    /**
     * 真实姓名
     */
    protected String realname;
    /**
     * 头像
     */
    @File(dirName = SysUserConstants.SYS_USER_AVATAR_FILE_TYPE, fileType = FileType.IMAGE)
    protected String headimg;
    /**
     * 生日
     */
    protected LocalDate birthday;
    /**
     * 性别
     */
    protected SexEnum sex;
    /**
     * 邮箱
     */
    protected String email;
    /**
     * 电话
     */
    protected String phone;
    /**
     * 状态
     */
    protected UserStatusEnum status;
    /**
     * 用户角色ids
     */
    protected String roleListIds;

    /**
     * 用户角色编码
     */
    protected String roleListCodes;

    /**
     * 角色名称
     */
    protected String roleListNames;

    /**
     * 用户部门id
     */
    protected String sysDepartId;

    /**
     * 用户部门
     */
    protected String sysDepartName;


    /**
     * 负责机构ids
     */
    protected String leaderDepartsIds;
    /**
     * 负责机构编号
     */
    protected String leaderDepartsNos;
    /**
     * 负责部门id
     */
    protected String leaderDepartsNames;



}
